package com.example.roleplay.service.asr;

import org.springframework.web.multipart.MultipartFile;

/**
 * ASR（自动语音识别）客户端接口
 */
public interface ASRClient {

    /**
     * 语音转文字
     * 
     * @param audioFile 音频文件
     * @param language 语言代码，如 "zh-CN", "en-US"
     * @return 识别出的文本
     */
    String transcribe(MultipartFile audioFile, String language);

    /**
     * 语音转文字（字节数组）
     * 
     * @param audioData 音频数据
     * @param format 音频格式，如 "wav", "mp3"
     * @param language 语言代码
     * @return 识别出的文本
     */
    String transcribe(byte[] audioData, String format, String language);

    /**
     * 检查ASR服务是否可用
     * 
     * @return 是否可用
     */
    boolean isHealthy();

    /**
     * 获取支持的音频格式
     * 
     * @return 支持的格式列表
     */
    String[] getSupportedFormats();

    /**
     * 获取支持的语言
     * 
     * @return 支持的语言代码列表
     */
    String[] getSupportedLanguages();
}